iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0
AI/ ML & Data

Web仔從數學角度學習 AI/ ML & Data系列 第 8

Day 8 - Web仔從數學角度學習 前饋式神經網路 多層感知機MLP

  • 分享至 

  • xImage
  •  

註:本文同步更新在Notion!(數學公式會比較好閱讀)

昨天也提到超出線性能解決問題時,會需要使用到多層感知機(MLP)來處理這類問題,所以今天來介紹介紹一下ଘ(੭ˊᵕˋ)੭* ੈ✩‧₊˚

在FNN中,多層感知機(Multilayer Perceptron, MLP)能夠解決更為複雜的非線性問題。MLP 通過引入隱藏層和非線性激活函數,並使用倒傳遞演算法(Backpropagation)來優化網路的權重。

多層感知機的結構

多層感知機由以下部分組成:

  • 輸入層:接收數據
  • 隱藏層:進行非線性映射
  • 輸出層:根據預測目標,給出最終輸出

每一層的神經元與下一層的所有神經元連接,每個連接具有權重,並且每一層都有偏置項。MLP 的目標是學習輸入與輸出之間的映射。
https://ithelp.ithome.com.tw/upload/images/20240920/20168898Hd5c1KlbrZ.png

https://ithelp.ithome.com.tw/upload/images/20240920/20168898bKHY7jaBlZ.png


倒傳遞演算法

倒傳遞演算法(Backpropagation)是一種有效的權重更新方法,通過將誤差從輸出層反向傳播至隱藏層和輸入層來優化模型的權重。

損失函數

為了衡量模型的預測結果與真實結果的差距,我們使用損失函數。常見的損失函數有均方誤差(MSE):
https://ithelp.ithome.com.tw/upload/images/20240920/20168898EduBzMq3ws.png

演算法步驟

  1. 前向傳播(Forward Propagation)
    計算輸入數據經過每層的輸出,直到最終得到模型的預測結果。

  2. 計算誤差(Error Calculation)
    https://ithelp.ithome.com.tw/upload/images/20240920/20168898hntoBGLdNM.png

  3. 反向傳播(Backward Propagation):
    從輸出層開始,將誤差反向傳播到每一層。對於第 lll 層:
    https://ithelp.ithome.com.tw/upload/images/20240920/20168898NPfJ9Iy34V.png
    這裡,誤差被遞推計算至輸入層。

  4. 權重更新(Weight Update)
    使用梯度下降法更新權重和偏置:
    https://ithelp.ithome.com.tw/upload/images/20240920/20168898iGsLBiTpC8.png


傳遞演算法的矩陣形式

倒傳遞演算法可以用矩陣表示來加速運算,特別適合大規模神經網路。
https://ithelp.ithome.com.tw/upload/images/20240920/20168898humTHgDfPa.png

前向傳播的矩陣表示

對於每一層,我們可以將輸入數據和權重矩陣以批量形式進行計算:
https://ithelp.ithome.com.tw/upload/images/20240920/20168898qjxXj63ZlY.png

反向傳播的矩陣表示

https://ithelp.ithome.com.tw/upload/images/20240920/20168898td30vDI2js.png

權重和偏置更新的矩陣形式

使用批量梯度下降法更新權重和偏置:
https://ithelp.ithome.com.tw/upload/images/20240920/20168898DrXO3MFdJY.png

這樣的矩陣形式能夠有效地加速神經網路的訓練過程,特別是在大數據集和多層網絡中,極大提高了計算效率。


通過倒傳遞演算法,我們能夠計算每一層的誤差,並使用梯度下降法來更新權重,使得模型的預測誤差不斷減小。倒傳遞演算法的矩陣形式使得運算更加高效,特別是在大規模數據集的情況下。


上一篇
Day 7 - Web仔從數學角度學習 前饋式神經網路 感知機
下一篇
Day 9 - Web仔從數學角度學習 深層前饋式神經網路DFNN
系列文
Web仔從數學角度學習 AI/ ML & Data30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言